// 登录注册的路由文件
// 1. 加载 express 模块
const express = require('express');
const abc = require('./03.封装一个连接数据库的方法')

// 加密的文件
const utils = require('utility')
const jwt = require('jsonwebtoken')

// 2. 创建路由对象（实际是一个function）
const router = express.Router();

// 3. 把接口挂载到路由对象上
router.post('/login', async (req, res) => {
    // res.send('你访问了登录接口');
    // 接收账号密码
    let username = req.body.username;
    let password = utils.md5(req.body.password);
    // 判断账号密码的对错
    // abc('select * from user where username=? and password=?', [username, password], (err, result)=>{
    //     // console.log(req.body);
    //     // console.log(password);
    //     if (err) {
    //         res.send({ status: 1, message: err.message  })
    //     } else {
    //         if ( result.length > 0 ){
    //             let token = 'Bearer ' + jwt.sign({ userId:result[0].id}, 'shhhhh', { expiresIn: '2h' });
    //             res.send({ status: 0, message: '登录成功', token: token  })
    //             console.log(result);
    //             console.log(result[0]);
    //             // console.log(result[0].tostring(id));
    //         } else {
    //             res.send({ status: 1, message: '账号或密码错误' })
    //         }
    //     }
    // })
    let r = await abc('select * from user where username=? and password=?', [username, password])
    if (r && r.length > 0 ){
        let token = 'Bearer ' + jwt.sign({ userId: r[0].id}, 'shhhhh', { expiresIn: '2h' })
        res.send({ status: 0, message: '登录成功', token: token });
    } else {
        res.send({ status: 1, message: '账号或密码错误' }) 
    }
})

router.post('/reguser', async (req, res) => {
    // res.send('你访问了注册接口');
    req.body.password = utils.md5(req.body.password)
    // abc('insert into user set ?', req.body, (err, result)=>{
    //     console.log(req.body);
    //     if (err) {
    //         console.log(err);
    //         res.send({ status: 1, message: err.message})
    //     } else {
    //         res.send({ status: 0, message: '注册成功'}) 
    //     }
    // })
    let r = await abc('insert into user set ?', req.body)
    if ( r && r.affectedRows > 0) {
        res.send({ status: 0, message: '注册成功'})
    }
})

// 4. 导出路由对象
module.exports = router;